\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{mar. mars 6 11:41:09 CET 2012}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={OpenSSL - enc},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Routines de chiffrements symétriques},
CreationDate={D:20120306114109},
ModDate={D:20120306114109},
Keywords={PKI;sécurité;chiffrement;certificats}
}}
\begin{document}
 
\begin{center}
{\Huge OpenSSL - enc }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Routines de chiffrements symétriques}
 
\vspace{10mm}
 
\hspace{1mm}  Permet de chiffrer ou déchiffrer des données en utilisant divers block ou flux de chiffrement en utilisant des clés basé sur mot de passe ou fournis explicitement. L’encodage/décodage en base 64 peut également être effectué en plus du chiffrement/déchiffrement.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge OPTIONS }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -in filename]{Fichier d’entrée}
\item[\hspace{1mm} -out filename]{Fichier de sortie}
\item[\hspace{1mm} -pass arg]{Source du mot de passe}
\item[\hspace{1mm} -salt]{Utilise un Salt dans les routines de dérivation de clé pendant le chiffrement (défaut). Généré aléatoirement avec l’option -S}
\item[\hspace{1mm} -nosalt]{N’utilise pas de Salt. Ne doit être utilisé que pour des tests un pour compatibilité avec des anciennes versions d’OpenSSL.}
\item[\hspace{1mm} -S salt]{Le Salt à utiliser au format hexa}
\item[\hspace{1mm} -e ]{Chiffre la donnée en entrée (défaut)}
\item[\hspace{1mm} -d]{Déchiffre la donnée en entrée}
\item[\hspace{1mm} -a]{Traite les données en base 64.}
\item[\hspace{1mm} -base64]{Idem à -a}
\item[\hspace{1mm} -A]{si -a, le traitement base64 se fait sur une ligne}
\item[\hspace{1mm} -k password]{Le mot de passe à dériver de la clé. Pour la compatibilité avec d’anciennes versions d’OpenSSL. Remplacé par -pass}
\item[\hspace{1mm} -kfile filename]{Le mot de passe à dériver de la clé depuis ce fichier. Pour la compatibilité avec d’anciennes versions d’OpenSSL. Remplacé par -pass}
\item[\hspace{1mm} -K key]{La clé à utiliser en hexa. IV doit être spécifié avec -iv. Si la clé et le mot de passe sont spécifiés, IV est généré depuis le mot de passe.}
\item[\hspace{1mm} -iv IV]{L’IV à utiliser en hexa}
\item[\hspace{1mm} -p]{Afficher la clé et l’IV utilisé}
\item[\hspace{1mm} -P]{Idem à -p mais quitte immédiatement}
\item[\hspace{1mm} -bufsize number]{Définis la taille du tampon pour les E/S}
\item[\hspace{1mm} -nopad]{Désactive le padding de block standard}
\item[\hspace{1mm} -debug]{Débug les BIO utilisé pour les E/S}
\item[\hspace{1mm} -z]{Compresse ou décompresse en texte clair en utilisant zlib avant le chiffrement ou après le déchiffrement.}
\item[\hspace{1mm} -none]{Utilise le chiffrement NULL}
\end{description}
 
\vspace{1cm}{\huge Notes }
 
\
 
\hspace{1mm}  Les moteurs qui fournissent de nouveaux algorithmes de chiffrement (tel que ccgost qui fournis l’algorithme gost89) devraient être configurés dans le fichier de configuration. Les moteurs spécifiés sur la ligne de commande peuvent seulement être utilisé avec des implémentations de chiffrement assisté par hardware supportés par OpenSSL core.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Chiffrements supportés }
 
\
 
\hspace{1mm} Noter que certains chiffrements peuvent être désactivés à la compilation.
 
{\ttfamily
base64 Base 64\\ \hspace{2mm}\\ bf-cbc Blowfish in CBC mode\\ bf Alias for bf-cbc\\ bf-cfb Blowfish in CFB mode\\ bf-ecb Blowfish in ECB mode\\ bf-ofb Blowfish in OFB mode\\ \hspace{2mm}\\ cast-cbc CAST in CBC mode\\ cast Alias for cast-cbc\\ cast5-cbc CAST5 in CBC mode\\ cast5-cfb CAST5 in CFB mode\\ cast5-ecb CAST5 in ECB mode\\ cast5-ofb CAST5 in OFB mode\\ \hspace{2mm}\\ des-cbc DES in CBC mode\\ des Alias for des-cbc\\ des-cfb DES in CBC mode\\ des-ofb DES in OFB mode\\ des-ecb DES in ECB mode\\ \hspace{2mm}\\ des-ede-cbc Two key triple DES EDE in CBC mode\\ des-ede Two key triple DES EDE in ECB mode\\ des-ede-cfb Two key triple DES EDE in CFB mode\\ des-ede-ofb Two key triple DES EDE in OFB mode\\ \hspace{2mm}\\ des-ede3-cbc Three key triple DES EDE in CBC mode\\ des-ede3 Three key triple DES EDE in ECB mode\\ des3 Alias for des-ede3-cbc\\ des-ede3-cfb Three key triple DES EDE CFB mode\\ des-ede3-ofb Three key triple DES EDE in OFB mode\\ \hspace{2mm}\\ desx DESX algorithm.\\ \hspace{2mm}\\ gost89 GOST 28147-89 in CFB mode (provided by ccgost engine)\\ gost89-cnt `GOST 28147-89 in CNT mode (provided by ccgost engine)\\ \hspace{2mm}\\ idea-cbc IDEA algorithm in CBC mode\\ idea same as idea-cbc\\ idea-cfb IDEA in CFB mode\\ idea-ecb IDEA in ECB mode\\ idea-ofb IDEA in OFB mode\\ \hspace{2mm}\\ rc2-cbc 128 bit RC2 in CBC mode\\ rc2 Alias for rc2-cbc\\ rc2-cfb 128 bit RC2 in CFB mode\\ rc2-ecb 128 bit RC2 in ECB mode\\ rc2-ofb 128 bit RC2 in OFB mode\\ rc2-64-cbc 64 bit RC2 in CBC mode\\ rc2-40-cbc 40 bit RC2 in CBC mode\\ \hspace{2mm}\\ rc4 128 bit RC4\\ rc4-64 64 bit RC4\\ rc4-40 40 bit RC4\\ \hspace{2mm}\\ rc5-cbc RC5 cipher in CBC mode\\ rc5 Alias for rc5-cbc\\ rc5-cfb RC5 cipher in CFB mode\\ rc5-ecb RC5 cipher in ECB mode\\ rc5-ofb RC5 cipher in OFB mode\\ \hspace{2mm}\\ aes-\texttt{[}128|192|256\texttt{]}-cbc 128/192/256 bit AES in CBC mode\\ aes-\texttt{[}128|192|256\texttt{]} Alias for aes-\texttt{[}128|192|256\texttt{]}-cbc\\ aes-\texttt{[}128|192|256\texttt{]}-cfb 128/192/256 bit AES in 128 bit CFB mode\\ aes-\texttt{[}128|192|256\texttt{]}-cfb1 128/192/256 bit AES in 1 bit CFB mode\\ aes-\texttt{[}128|192|256\texttt{]}-cfb8 128/192/256 bit AES in 8 bit CFB mode\\ aes-\texttt{[}128|192|256\texttt{]}-ecb 128/192/256 bit AES in ECB mode\\ aes-\texttt{[}128|192|256\texttt{]}-ofb 128/192/256 bit AES in OFB mode\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge Exemples }
 
\
 
\hspace{1mm} Encoder un fichier binaire en base 64 \\
\hspace{1mm} \textbf{openssl base64 -in file.bin -out file.b64} \\
\hspace{1mm} Décoder le même fichier \\
\hspace{1mm} \textbf{openssl base64 -f -in file.b64 -out file.bin} \\
\hspace{1mm} Chiffrer un fichier avec 3DES en mode CBC \\
\hspace{1mm} \textbf{openssl des3 -salt -in file.txt -out file.des3} \\
\hspace{1mm} Déchiffrer un fichier en fournissant le mot de passe \\
\hspace{1mm} \textbf{openssl des3 -d -salt -in file.des3 -out file.txt -k mypassword} \\
\hspace{1mm} Chiffrer un fichier puis l’encoder en base 64 avec blowfish en mode CBC \\
\hspace{1mm} \textbf{openssl bf -a -salt -in file.txt -out file.bf} \\
\hspace{1mm} Décode un fichier base 64 et le déchiffrer \\
\hspace{1mm} \textbf{openssl bf -d -salt -a -in file.bf -out file.txt} \\
\hspace{1mm} Déchiffre des données en utilisant une clé RC4 40 Bits \\
\hspace{1mm} \textbf{openssl rc4-40 -in file.rc4 -out file.txt -K 0102030405} \\
\end{flushleft}
\end{document}
